package com.xfsong.demo.mapper;

import com.xfsong.demo.entity.Category;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CategoryMapper {
    // 插入商品分类
    int insertCategory(Category category);

    // 根据 ID 删除商品分类
    int deleteCategoryById(Integer id);

    // 更新商品分类
    int updateCategory(Category category);

    // 根据 ID 查询商品分类
    Category selectCategoryById(Integer id);

    // 查询所有商品分类
    List<Category> selectAllCategories();

    // 根据分类名查询分类
    Category selectCategoryByName(@Param("categoryName") String categoryName);

    // 查询分类下商品数量
    int countProductsByCategoryId(@Param("categoryId") Integer categoryId);


    // 分页并按分类名模糊搜索商品分类
    List<Category> selectCategoriesByPageAndName(@Param("offset") int offset, @Param("pageSize") int pageSize, @Param("categoryName") String categoryName);
    // 统计按分类名模糊搜索的商品分类数量
    int countCategoriesByName(@Param("categoryName") String categoryName);
}
